package cn.com.victorysoft.ylgl.service.fracturingpressure.domain.jobTest;

import cn.com.victorysoft.ylgl.service.commons.domain.BaseEntity;
import cn.com.victorysoft.ylgl.service.commons.json.DateToISODateTimeSerializer;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.fasterxml.jackson.databind.annotation.JsonSerialize;
import org.springframework.format.annotation.DateTimeFormat;

import java.math.BigDecimal;
import java.util.Date;


/**
 * 完井作业
 */
public class CompletionOperation extends BaseEntity {

    private String wellId;

    private String wellPurpose;

    private String technique;

    private String packerFormat;

    private String flowbackMethod;

    @DateTimeFormat(
            pattern = "yyyy-MM-dd HH:mm:ss"
    )
    private Date flowingDate;

    private BigDecimal originalLoading;

    private BigDecimal unsetLoading;

    private String tubeDescription;

    private String isMajorRepair;

    private BigDecimal wellKillingFluidDensity;

    private String fracturingFluidType;

    private BigDecimal sanding;

    private String completionMode;

    private String productionSystem;

    private String remarks;

     public String getWellId() {
        return wellId;
    }

    public void setWellId(String wellId) {
        this.wellId = wellId == null ? null : wellId.trim();
    }

    public String getWellPurpose() {
        return wellPurpose;
    }

    public void setWellPurpose(String wellPurpose) {
        this.wellPurpose = wellPurpose == null ? null : wellPurpose.trim();
    }

    public String getTechnique() {
        return technique;
    }

    public void setTechnique(String technique) {
        this.technique = technique;
    }

    public String getPackerFormat() {
        return packerFormat;
    }

    public void setPackerFormat(String packerFormat) {
        this.packerFormat = packerFormat;
    }

    public String getFlowbackMethod() {
        return flowbackMethod;
    }

    public void setFlowbackMethod(String flowbackMethod) {
        this.flowbackMethod = flowbackMethod;
    }

    @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")
    @JsonFormat(pattern="yyyy-MM-dd HH:mm:ss")
    public Date getFlowingDate() {
        return flowingDate;
    }

    @JsonSerialize(using = DateToISODateTimeSerializer.class)
    public void setFlowingDate(Date flowingDate) {
        this.flowingDate = flowingDate;
    }

    public BigDecimal getOriginalLoading() {
        return originalLoading;
    }

    public void setOriginalLoading(BigDecimal originalLoading) {
        this.originalLoading = originalLoading;
    }

    public BigDecimal getUnsetLoading() {
        return unsetLoading;
    }

    public void setUnsetLoading(BigDecimal unsetLoading) {
        this.unsetLoading = unsetLoading;
    }

    public String getTubeDescription() {
        return tubeDescription;
    }

    public void setTubeDescription(String tubeDescription) {
        this.tubeDescription = tubeDescription;
    }

    public String getIsMajorRepair() {
        return isMajorRepair;
    }

    public void setIsMajorRepair(String isMajorRepair) {
        this.isMajorRepair = isMajorRepair;
    }

    public BigDecimal getWellKillingFluidDensity() {
        return wellKillingFluidDensity;
    }

    public void setWellKillingFluidDensity(BigDecimal wellKillingFluidDensity) {
        this.wellKillingFluidDensity = wellKillingFluidDensity;
    }

    public String getFracturingFluidType() {
        return fracturingFluidType;
    }

    public void setFracturingFluidType(String fracturingFluidType) {
        this.fracturingFluidType = fracturingFluidType;
    }

    public BigDecimal getSanding() {
        return sanding;
    }

    public void setSanding(BigDecimal sanding) {
        this.sanding = sanding;
    }

    public String getCompletionMode() {
        return completionMode;
    }

    public void setCompletionMode(String completionMode) {
        this.completionMode = completionMode;
    }

    public String getProductionSystem() {
        return productionSystem;
    }

    public void setProductionSystem(String productionSystem) {
        this.productionSystem = productionSystem;
    }

    public String getRemarks() {
        return remarks;
    }

    public void setRemarks(String remarks) {
        this.remarks = remarks;
    }

}